package com.renjiyue.Day1;

/**
 * 猫，狗，兔子等等都是动物的一种形态
 *
 * 多态：动物有多种表现形式
 *
 *
 * this: 表示当前对象的引用
 * (如果this 关键字用在animal 类中，那么this 表示就是animal 对象 ,如果this关键字用在dog类中，那么this 表示是dog对象)
 * 用法：用来调用　属性，方法，构造方法
 * this.name 引用的是对象的属性，引用的是对象的成员变量（全局变量）
 *
 * super: 表示父类的引用
 *
 *
 * final : 可以修饰　变量，方法，　类
 *      final 修饰变量：　表示是一个常量
 *      final 修饰方法： 表示方法不可以重写
 *      final 修饰类，　表示类不能被继承(最终类)
 *
 *
 *
 * 常量: 不可修改的
 * 变量：可以修改的
 *
 * 方法重写：在子类重写父类的方法
 *          方法名，参数，返回值　都必须一样
 *          子类重写父类不能使用比父类更严格的访问权限
 * 方法重载：
 *      在同一个类中，方法名相同，参数不同（参数的个数，参数类型，参数的顺序），返回值可以相同
 *
 *
 * public protected default private
 *
 * 1 ,2 3, 'a', "abc"
 *
 * int i = 0;
 * i = 10;
 *
 *
 */
public class Test04 {

    public static void main(String[] args) {
//        Dog  dog = new Dog();
//
//        dog.speak();
//
//        System.out.println(dog.toString());

//        Animal animal = new Animal();
//        animal.speak();

        //实际对象是dog , 接受对象是　animal  :用动物的盒子，装了一条狗
//        Animal animal = new Dog();
//        Animal animal2 = new Cat();

//        animal.speak();


        Dog dog = new Dog();
        dog.speak();

        final int i = 0;

    }
}
